package com.crt.uav.domain;

import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Schema(title = "UavTaskVO", description = "无人机最新里程、运行时间查询。 如果创建立即执行任务： wp_id和uav_sn不能为空，其他为null； 如果创建延迟任务单次任务： wp_id、uav_sn、exe_time和exe_fre为空；如果创建延迟循环计划： wp_id、uav_sn、exe_time和exe_fre不能为空")
@Data
public class UavTaskVO implements Serializable {

    private static final long serialVersionUID = 1L;
    
    @Schema(title = "task_id", description = "任务编号，不可唯恐，为空值时生成递增数", example = "1")
    private Integer task_id;

    @Schema(title = "wp_id", description = "改任务执行的航线", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String wp_id;

    @Schema(title = "uav_sn", description = "无人机序列号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String uav_sn;

    @Schema(title = "exe_time", description = "开始执行时间", example = "20231001120000")
    private String exe_time;

    @Schema(title = "exe_fre", description = "执行频率,单位：1s, 1m, 1H, 1d, 1M, 1y对应秒、分钟、小时、天、月、年", example = "1s")
    private String exe_fre;

    @Schema(title = "type", description = "任务类型：1-立即执行，2-延迟单次执行，3-延迟循环计划", example = "1")
    private Integer type;

    @Schema(title = "status", description = "任务状态：1-创建成功，2-开始执行，3-正在执行，5-已完成，6-已取消，7-执行失败", example = "0")
    private Integer status;

    @Schema(title = "msg", description = "任务注释", example = "测试航线")
    private String msg;

    @Schema(title = "create_time", description = "创建时间")
    private String create_time;

    @Schema(title = "flight_number", description = "该任务执行次数", example = "1")
    private Integer flight_number;
}
